#pragma warning disable 108
using System;
using System.Runtime.InteropServices;
using System.Collections.Generic;
using Cephei;
using Cephei.Generic;
namespace Cephei.QL.Math.Integrals
{
     // <summary> 
	// ! References: Gauss quadratures and orthogonal polynomials  G.H. Gloub and J.H. Welsch: Calculation of Gauss quadrature rule. Math. Comput. 23 (1986), 221-230  "Numerical Recipes in C", 2nd edition, Press, Teukolsky, Vetterling, Flannery,  \test the correctness of the result is tested by checking it against known good values.
	// </summary>
    [Guid ("35B57791-175C-41fc-A7B7-BC7DD37304CA"),ComVisible(true)]
	public interface IGaussianQuadrature 
	{
		///////////////////////////////////////////////////////////////
        // Methods
        //
        
		 UInt64 Order {get;}
    }

    // <summary> 
	// ! References: Gauss quadratures and orthogonal polynomials  G.H. Gloub and J.H. Welsch: Calculation of Gauss quadrature rule. Math. Comput. 23 (1986), 221-230  "Numerical Recipes in C", 2nd edition, Press, Teukolsky, Vetterling, Flannery,  \test the correctness of the result is tested by checking it against known good values. Factory
	// </summary>
   	[ComVisible(true)]
    public interface IGaussianQuadrature_Factory // : Collection_Factory<IGaussianQuadrature, ICell<IGaussianQuadrature>>
    {
        ///////////////////////////////////////////////////////////////
        // Factory methods
        //
        
	    IGaussianQuadrature Create (UInt64 n, Cephei.QL.Math.Integrals.IGaussianOrthogonalPolynomial p);
    }
}

